---
title: Cellular
description: An API that provides information about the user's cellular service provider.
sourceCodeUrl: 'https://github.com/expo/expo/tree/sdk-50/packages/expo-cellular'
packageName: 'expo-cellular'
iconUrl: '/static/images/packages/expo-cellular.png'
---

import APISection from '~/components/plugins/APISection';
import { APIInstallSection } from '~/components/plugins/InstallSection';
import PlatformsSection from '~/components/plugins/PlatformsSection';
import { AndroidPermissions } from '~/components/plugins/permissions';
import { ConfigReactNative } from '~/ui/components/ConfigSection';

`expo-cellular` provides information about the user's cellular service provider, such as its unique identifier, cellular connection type, and whether it allows VoIP calls on its network.

<PlatformsSection android emulator ios web />

## Installation

<APIInstallSection />

## Configuration

<ConfigReactNative>

Learn how to configure the native projects in the [installation instructions in the `expo-cellular` repository](https://github.com/expo/expo/tree/main/packages/expo-cellular#installation-in-bare-react-native-projects).

</ConfigReactNative>

## API

```js
import * as Cellular from 'expo-cellular';
```

<APISection packageName="expo-cellular" apiName="Cellular" />

## Error codes

| Code                                         | Description                                                          |
| -------------------------------------------- | -------------------------------------------------------------------- |
| ERR_CELLULAR_GENERATION_UNKNOWN_NETWORK_TYPE | Unable to access network type or not connected to a cellular network |

## Permissions

### Android

You must add the following permissions to your **app.json** inside the [`expo.android.permissions`](/versions/latest/config/app/#permissions) array.

<AndroidPermissions permissions={['READ_PHONE_STATE']} />

### iOS

_No permissions required_.
